The present invention is directed generally to systems and methods related to computer-aided design (CAD) software, and more specifically to such systems and methods of providing an automated process for translating design data in different formats.
CAD software is well-known, and used by architects, engineers, artists, and the like to create precision drawings and technical illustrations. It is used to create two-dimensional (2-D) drawings and three-dimensional (3-D) models. Applications such as MicroStation(copyright) products, which are developed by Bentley Systems, Inc., Exton, Pa. U.S.A., and AutoCAD(copyright) products, which are developed by Autodesk, Inc., San Rafael, Calif., U.S.A., are typical of such CAD software, which may be used in the engineering, construction, and operations (ECO) marketplace.
In large design projects, for example, such as skyscrapers and large office complexes, hundreds of drawings and models for the electrical, HVAC, plumbing systems etc. are generated using CAD systems. Typically, these large design projects involve a variety of clients, vendors, and internal designers. The clients, vendors, and internal designers may use different CAD systems. For example the plumbing contractor may use AutoCAD and the design engineer may use MicroStation. The different CAD systems use different file formats, for example, MicroStation(copyright) files are in a DGN format whereas AutoCAD files are in a DWG format. These different file formats are not compatible with each other and must be converted into a format acceptable by the particular CAD system in order to share project data and so drawings may be viewed using the different systems. Thus, files created by the design engineer must be converted into an acceptable format so they can be viewed by the plumbing contractor and vice versa.
Consequently, there is a need to create DGN, DWG, and other project directories that contain all of the drawings required for a particular project. Moreover, it is desired to keep an up-to-date copy of the project data in both formats so it is easy to send files and to receive files from vendors, contractors, and internal designers at any point during a project.
The manual process of keeping track of which files have been converted and which files still need to be converted can be difficult and labor intensive for large projects. In the past, files were converted at the end of a project or at a milestone within the project. This leads to problems when information is required before conversion is carried out or when deadlines approach and all relevant files have not been converted. The rush to convert files may lead to errors or some files not being converted. Thus, there is a need to simplify and automate the conversion process for large projects by maintaining closely synchronized data files in different formats. Additionally there is a need to track which files have been converted and when.
The present invention provides systems and methods of maintaining data in a synchronized state by simplifying and automating the file conversion process in a continuous and mostly background manner. In one embodiment, the invention searches a specified source directory (and its subdirectories) for source files of a particular format. Any source files it encounters for the first time are converted into the desired format and stored at a specified destination, creating a destination file. A time and date stamp of the destination or converted file is stored in a database. For source files encountered for a second or subsequent time, the date and time stamps of all of these source files are compared against the database that contains file name, date and time information for converted or destination files. The present invention automatically converts any source files that are newer than its corresponding destination file.
In a preferred embodiment, the process runs through iterations to keep the data synchronized in a near real-time state. Since the number of files associated with a project could be quite numerous, with each iteration, only the source files that have changed since the last iteration will be operated on. In another embodiment, the invention will also check reference file dependencies. If the main source design file itself has not changed, but any attached reference files have, the destination file will be updated accordingly.
In another embodiment, the invention will also check dependencies with MicroStation BASIC import/export settings files. If the source design files have not changed, but the settings files have, the invention will update each destination file that it needs to.